home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 301-325 / disk_319 / cnewssrc / cnews.orig.lzh / misc / ctime.c < prev    next >
C/C++ Source or Header  |  1989-06-27  |  1KB  |  77 lines

  1. /*
  2.  * ctime time_t ... - print the ascii time of time_t(s)
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include <ctype.h>
  7. #include <time.h>
  8. #include <sys/types.h>
  9. #include <sys/timeb.h>
  10.  
  11. #define    DAY    (24L*60L*60L)
  12.  
  13. struct timeb ftnow;
  14.  
  15. char *progname;
  16.  
  17. extern int errno;
  18. extern char *strcpy();
  19. extern char *strncpy();
  20. extern char *strcat();
  21. extern char *strchr();
  22. extern char *strtok();
  23. extern long atol();
  24. extern char *malloc();
  25. extern struct tm *gmtime();
  26. extern time_t time();
  27.  
  28. /* Forwards. */
  29. extern void process();
  30.  
  31. /*
  32.  - main - parse arguments and handle options
  33.  */
  34. main(argc, argv)
  35. int argc;
  36. char *argv[];
  37. {
  38.     register int c;
  39.     register int errflg = 0;
  40.     extern int optind;
  41.     extern char *optarg;
  42.  
  43.     progname = argv[0];
  44.     ftime(&ftnow);
  45.  
  46.     while ((c = getopt(argc, argv, "")) != EOF)
  47.         switch (c) {
  48.         case '?':
  49.         default:
  50.             errflg++;
  51.             break;
  52.         }
  53.     if (errflg || optind == argc) {
  54.         (void) fprintf(stderr, "Usage: %s ascii_time ...\n", progname);
  55.         exit(2);
  56.     }
  57.  
  58.     for (; optind < argc; optind++)
  59.         process(argv[optind]);
  60.     exit(0);
  61. }
  62.  
  63. /*
  64.  * process - print time_t of tm
  65.  */
  66. void
  67. process(tms)
  68. char *tms;
  69. {
  70.     time_t tm;
  71.     char *ctime();
  72.     long atol();
  73.  
  74.     tm = atol(tms);
  75.     (void) fputs(ctime(&tm), stdout);
  76. }
  77.